package balance

import (
	"errors"
	"math/rand"
	"time"
)

func init() {
	rand.Seed(time.Now().UnixNano())
}

// 虽然是个空结构体，但是需要一个结构体类型，然后去实现Balancer接口里的方法
type RandomBalance struct{
}

func (b *RandomBalance) DoBalance(objs []*Instance) (obj *Instance, err error) {
	if len(objs) == 0 {
		err = errors.New("没有传入任何实例")
		return
	}
	l := len(objs)
	i := rand.Intn(l)
	obj = objs[i]
	return
}